1. Field of Invention
The present invention relates generally to the field of communication protocols and data networks. More particularly, in one exemplary aspect, the present invention is directed to the efficient transmittal of, inter alia, service profile information over alternate transports and/or using alternate protocols.
2. Description of Related Technology
Communication protocols, such as for example the well-known Bluetooth protocol and air interface specifications, include profiles that provide specific information about how a device is intended to be used, as well its intended manner of operation. At a minimum, most profile specifications contain information relating to: (1) dependencies between profiles; (2) suggested user interface formats; and (3) specific parts of the protocol stack used by the profile. To perform its task, each profile uses particular options and parameters at each layer of the stack.
In the exemplary context of Bluetooth, a large number of differing profiles for use with the Bluetooth protocol stack are included as part of the Bluetooth specification(s). These profiles include, without limitation: Advanced Audio Distribution Profile (A2DP); AudioNideo Remote Control Profile (AVRCP); Basic Imaging Profile (BIP); Basic Printing Profile (BPP); Common ISDN Access Profile (CIP); Cordless Telephony Profile (CTP); Device ID Profile (DID); Dial-up Networking Profile (DUN); Fax Profile (FAX); File Transfer Profile (FTP); General AudioNideo Distribution Profile (GAVDP); Generic Access Profile (GAP); Generic Object Exchange Profile (GOEP); Hard Copy Cable Replacement Profile (HCRP); Hands-Free Profile (HFP); Human Interface Device Profile (HID); Headset Profile (HSP); Intercom Profile (ICP); LAN Access Profile (LAP); Object Push Profile (OPP); Personal Area Networking Profile (PAN); Phone Book Access Profile (PBAP); Serial Port Profile (SPP); Service Discovery Application Profile (SDAP); SIM Access Profile (SAP, SIM); Synchronization Profile (SYNCH); Video Distribution Profile (VDP); and Wireless Application Protocol Bearer (WAPB). Extant methods for determining the available profiles offered by a given Bluetooth device are illustrated in FIG. 1.
FIG. 1 illustrates two Bluetooth devices 120, 130 in a wireless network 100 attempting to discover the available service profiles offered by the other. Device A 120 initiates a device discovery process, while device B 130 ensures that it can accept connections at 154. The devices 120, 130 must first establish a physical connection via a link establishment procedure at 156. This physical connection may comprise in the present context a wireless link between the transceivers of the two devices. Upon establishing a physical link, the two devices 120, 130 must then perform a channel establishment procedure to establish a logical connection between the devices 120, 130 at 158. After establishing both a link and logical channel, the two devices can then initiate a service discovery session at 160, after which the devices 120, 130 may optionally tear down there logical and physical links at 162, 164, respectively.
FIG. 1A illustrates a typical scenario in which two (2) Bluetooth devices exchange service profile information during a service discovery session. Typically, these service profiles are exchanged between a client application 102 and a server application 104. The client application 102 will send a request via a logical channel 106 to a service discovery profile (SDP) client 108. The SDP client 108 issues an SDP request 114 to the SDP server 112, which forwards the request onto the server application 104. The SDP server 112 responds via an SDP response 116 and the capabilities between the devices are exchanged.
While prior art methods for discovering available profiles in a Bluetooth device are adequate where time is not a constraint, and electromagnetic interference within a given geographic region is small, they can represent a burdensome task, especially where a large number of devices are available for discovery. Specifically, the traditional Bluetooth Service Discovery mechanism is an active, on-demand system, and must be performed at “connection time” on the device. Sometimes this mechanism is utilized, only to find out that the device doesn't support the feature in which the user is interested. There are also multiple steps required before a service discovery process can be performed, including device discovery and remote name resolution as generally illustrated in FIGS. 1 and 1A. This service discovery process can be a time-consuming process, and can overwhelm the wireless network resulting in undesirable latencies when a large number of devices are in close proximity to one another. Further, this service discovery process can also be error prone if the Bluetooth radios cannot “sync” properly due to electromagnetic interference. A typical problem scenario exists where a user is operating a Bluetooth I/O such as a keyboard and a mouse simultaneously, while attempting a SDP session with yet another Bluetooth device. Bluetooth devices in this given scenario may not even be able to establish a service discovery session due to the interference caused by the use of the Bluetooth keyboard and mouse in close proximity with the devices attempting an SDP session.
More generally, other service discovery protocols exist outside of Bluetooth as well. These include, without limitation, the Bonjour™ protocol developed by the Assignee hereof (Apple Inc.) which is utilized in, inter alia, Apple's Mac OS X operating system from version 10.2 onwards, and on Microsoft Windows operating systems (when installed). The exemplary Bonjour protocol is intended for use on local area networks (LANs) to locate devices such as printers, as well as other computers and file sharing servers, and the services that those devices offer. It is also used by Apple iTunes® to find shared music, iPhoto® to find shared photos, iChat®, to find other users on the local network, and TiVo Desktop to find digital video recorders and shared media libraries, among other uses. Accordingly, Bonjour comprises one exemplary application adapted to discover services on a local area network.
Other solutions have also been contemplated in the prior art for implementing various service discovery protocols within a given communications architecture or protocol. For example, U.S. Pat. No. 7,191,245 to Takayama issued Mar. 13, 2007 and entitled “Information processing apparatus and information processing method” discloses an information processing apparatus for allowing a non-networked unit to function as one unit disposed in a network environment. A network adapter obtains detailed profile data on the Internet according to simple profile data obtained from the outside. The network adapter enters service data generated according to these pieces of profile data, in a service discovery server. Then, the network adapter reads the service data from the service discovery server and refers to it to execute an operation for implementing service indicated by the service data by using an interface with a non-networked unit. With this, a function which cannot be implemented if the non-networked unit is not connected to a network is given to the non-networked unit through the network adapter.
United States Patent Publication No. 20050010655 to Edwards, et al. published Jan. 13, 2005 and entitled “Method and apparatus for dynamically delivering service profiles to clients” discloses a system that facilitates dynamic delivery of service profiles to a client. During operation, the system performs a discovery operation to allow the client to discover new services on a network. If a new service is discovered for which the client does not possess a service profile, the client obtains the service profile from the new service and subsequently installs it, thereby enabling the client to interact with the new service.
United States Patent Publication No. 20050128958 to Hamdan published Jun. 16, 2005 and entitled “Protocol for wireless multi-hop ad-hoc networks” discloses service provisioning in wireless peer-to-peer networks organized according to the store-and-forward messaging principle, in particular to a service discovery protocol for providing low-profile, low-overhead service discovery information needed for determining the availability of requested remote services in a wireless multi-hop ad-hoc network.
United States Patent Publication No. 20070117510 to Elixmann; published May 24, 2007 and entitled “System for responsive to detection, acoustically signaling desired nearby devices and services on a wireless network” discloses a distributed electronic system having at least one device G1 able to be perceived and at least one device G2 capable of perception, which latter has an acoustic output. To enable devices of a type being looked for by a user to be more easily perceived, G1 and G2 co-operate with one another by automatic intercommunication in such a way that the user learns at any time by means of audible signals which types of device are located in the area surrounding him. In an embodiment, G2 comprises a perception profile storing desired device-types for comparison in a Bluetooth service discovery process. G2 can be part of a headphone or hearing aid, and the audio sequences can be edited by an application linked to G2 via the ad-hoc interface.
Despite these various techniques, the prior art fails to provide service discovery protocols across differing or heterogeneous platforms, transports and network interfaces, especially where the use of these differing platforms, transports and network interfaces can accelerate the service profile discovery process. Consequently, improved apparatus and methods are needed which would permit the discovery of remote device service profiles over alternate communication transports, either exclusively or only under certain operating conditions. Further, such improved apparatus and methods would permit the discovery of additional information which would aid in the utilization of these service profiles. Such improved apparatus and methods would also ideally provide faster and more efficient transfer of service profiles between devices as compared to prior art service discovery techniques.